test: print1.o print2.o print3.o main.o
	gcc -Wall $^ -o test

print1.o: print1.c
	${CC} -c print1.c -o print1.o

print2.o: print2.c
	@gcc -c print2.c -o $*.o

print3.o: print3.c
	gcc -c print3.c -o $@

main.o: main.c
	gcc -c main.c -o main.o

.PHONY: clean
clean:
	rm *.o test
